def vm_get_by_label(self, session, label):
xendom = XendDomain.instance()
dom = xendom.domain_lookup_nr(label)
- return xen_api_success(dom.get_uuid())
+ if dom:
+ return xen_api_success(dom.get_uuid())
+ return xen_api_error(XEND_ERROR_VM_INVALID)
def vm_create(self, session, vm_struct):
xendom = XendDomain.instance()
domuuid = xendom.create_domain(vm_struct)
raise XendConfigError("XendConfig: device_add requires some "
"config.")
- log.debug("XendConfig.device_add: %s" % str(cfg_sxp))
+ if cfg_sxp:
+ log.debug("XendConfig.device_add: %s" % str(cfg_sxp))
+ if cfg_xenapi:
+ log.debug("XendConfig.device_add: %s" % str(cfg_xenapi))
if cfg_sxp:
config = sxp.child0(cfg_sxp)
dev_uuid = dev_info.get('uuid', uuid.createString())
dev_info['uuid'] = dev_uuid
self['device'][dev_uuid] = (dev_type, dev_info)
+ if dev_type in ('vif', 'vbd'):
+ self['%s_refs' % dev_type].append(dev_uuid)
return dev_uuid
if cfg_xenapi:
dev_uuid = cfg_xenapi.get('uuid', uuid.createString())
dev_info['uuid'] = dev_uuid
self['device'][dev_uuid] = (dev_type, dev_info)
+ self['vif_refs'].append(dev_uuid)
return dev_uuid
elif dev_type == 'vbd':
dev_uuid = cfg_xenapi.get('uuid', uuid.createString())
dev_info['uuid'] = dev_uuid
self['device'][dev_uuid] = (dev_type, dev_info)
+ self['vbd_refs'].append(dev_uuid)
return dev_uuid